/*
 * 文件名：UserDao.java
 * 版权：Copyright by www.wootide.com
 * 描述：
 * 修改人：ozm
 * 修改时间：2013-1-24
 * 跟踪单号：
 * 修改单号：
 * 修改内容：
 */
package com.wootide.cms.service.facility.room.table.dao;

import java.util.List;

import com.wootide.cms.common.QueryCondition;
import com.wootide.cms.common.QueryResults;
import com.wootide.cms.service.facility.room.table.pojo.TableNoInfo;
import com.wootide.cms.service.reservation.orderby.pojo.OrderByInfo;
import com.wootide.cms.sys.user.pojo.UserInfo;
/**
 * 预订方式数据访问曾接口层
 * 〈一句话功能简述〉
 * 〈功能详细描述〉
 * @author ozm
 * @version 2013-1-25
 * @see TableNoInfoDao
 * @since 2013-1-25上午10:03:07
 */
public interface TableNoInfoDao
{
    /**
     * 通过订单号获取所有的房间信息
     * Description: <br>
     * Implement: <br>
     * @param orderId 订单ID
     * @return
     * @see
     * @return List 房间列表
     * @author ozm2013-4-7下午5:56:14
     */
    List<?> queryRoomsByOrderId(Integer orderId);
    
    /**
     * 通过订单ID和房间ID获取桌次信息
     * Description: <br>
     * Implement: <br>
     * @param orderId  订单ID
     * @param roomId  房间ID
     * @return
     * @see 
     * @return List<?> 桌次列表
     * @author ozm2013-4-7下午5:57:21
     */
    List<?> queryTableNoInfosByOrderIdAndRoomId(Integer orderId,Integer roomId);
    
    /**
     * 通过订单索引和桌次索引查询时段信息
     * Description: <br>
     * Implement: <br>
     * @param orderId 订单索引
     * @param tableId 桌次索引
     * @return
     * @see
     * @return List<?> 时段记录集合
     * @author ozm2013-4-8上午9:57:54
     */
    List<?> queryTablePeriodByOrderIdAndTableId(Integer orderId,Integer tableId);
    
    /**
     * 通过起止时间和桌次信息查询时段信息
     * Description: <br>
     * Implement: <br>
     * @param startTime 起始时间
     * @param endTime  结束时间
     * @param tableId   房间ID
     * @return
     * @see
     * @return List<?> 结果集
     * @author ozm2013-4-11下午6:05:13
     */
    List<?> queryPeriodsByTableIdAndStartTimeAndEndTime(Object startTime,Object endTime ,Object tableId);
    
    /**
     * 通过id获取桌次信息
     * Description: <br>
     * Implement: <br>
     * @param tableId 桌次ID
     * @return
     * @see
     * @return TableNoInfo 桌次信息
     * @author ozm2013-4-12下午4:02:18
     */
    TableNoInfo findOneTableNoInfoById(Integer tableId);
    
    /**
     * 通过索引列表和订单ID获取桌次时段记录
     * Description: <br>
     * Implement: <br>
     * @param orderId 订单索引
     * @param innerIndexs 桌次时段索引集合
     * @return
     * @see
     * @return List<?> 结果集合
     * @author ozm2013-4-12下午5:53:42
     */
    List<?> queryTablePeriodsInIdListByOrderId(Integer orderId,Integer[] innerIndexs);
    
    /**
     * 通过索引列表和订单ID获取被取消的桌次时段记录
     * Description: <br>
     * Implement: <br>
     * @param orderId 订单索引
     * @param innerIndexs 桌次时段索引集合
     * @return
     * @see
     * @return List<?> 结果集
     * @author ozm2013-4-12下午5:54:55
     */
    List<?> queryTablePeriodsNotInIdListByOrderId(Integer orderId,Integer[] innerIndexs);
}
